package com.zhongwang.mms.module.material.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Calendar;
import java.util.Date;

/**
 * @Description: 盘点计划
 * @Author: wsg
 * @Date: 2020/05/16
 */
@Data
public class MCheckPlanModel {
    private Integer cpnId;  // 主键

    private String cpnMaker;    // 计划制作人

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date cpnDate;   // 计划制作日期

    private String cpnContent;  // 盘点内容

    private String cpnCode; // 计划编号

    private String cpnParticipants; // 参与人员

    private String cpnRemark;   // 备注

    private Integer cpnStatus;  // 状态 0删除 1未开始 2执行中 3已完成

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date cpnStart;  // 计划预计开始时间

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date cpnEnd;    // 计划预计结束时间

    private Integer cpnPlanStatus;  // 盘点计划状态 1是未开始，2是执行中，3是已完成

    private Integer cpnResStatus;   // 盘点结果状态 1是未开始，2是执行中，3是已完成

    private Integer cpnAdjStatus;   // 盘点损益调整状态 1是未开始，2是执行中，3是已完成

    private Integer cpnPalStatus;   // 损益表状态 1是未开始，2是执行中，3是已完成

    private String cpnPlanStatusName;   // 盘点计划状态文字描述

    private String cpnResStatusName;    // 盘点结果状态文字描述

    private String cpnAdjStatusName;    // 盘点损益调整状态文字描述

    private String cpnPalStatusName;    // 损益表状态文字描述

    private String cpnAccount;  // 账号

    private Integer checkCount; // 盘点数量

    private Date startTimeQuery;    // 检索开始日期

    private Date endTimeQuery;  // 检索结束日期

    public void setEndTimeQuery(Date endTimeQuery) {
        if (endTimeQuery != null) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(endTimeQuery);
            cal.add(Calendar.DAY_OF_YEAR, +1);
            this.endTimeQuery = cal.getTime();
        } else {
            this.endTimeQuery = endTimeQuery;
        }
    }

}